﻿
namespace QFramework.Fullstack
{
    public class Framework
    {
        static IFrameworkLayer mLogicLayer = new FrameworkLayer();
        static IFrameworkLayer mApplicationLayer = new FrameworkLayer();

        public static IFrameworkLayer LogicLayer
        {
            get { return mLogicLayer; }
        }

        public static IFrameworkLayer ApplicationLayer
        {
            get { return mApplicationLayer; }
        }
        
        public static void ReplaceLogicLayer(IFrameworkLayer frameworkLayer)
        {
            mLogicLayer = frameworkLayer;
        }
        
        public static void ReplaceApplicationLayer(IFrameworkLayer frameworkLayer)
        {
            mApplicationLayer = frameworkLayer;
        }

        
        private static CommandSystem mCommandSystem = new CommandSystem();

        public static ICommandSystem CommandSystem
        {
            get { return mCommandSystem; }
        }
    }
}